The present invention relates to the art of industrial controllers, and more particularly to systems and methods for controlling a modular conveyor.
Industrial controllers are special purpose computers used for controlling industrial processes, manufacturing equipment, and other factory automation, such as conveyor systems. In accordance with a control program, the industrial controller measures one or more process variable or inputs reflecting the status of a controlled conveyor system, and changes outputs effecting control of the conveyor system. The inputs and outputs may be binary, (e.g., on or off), as well as analog inputs and outputs assuming a continuous range of values. The control program may be executed in a series of execution cycles with batch processing capabilities.
The measured inputs received from a conveyor system and the outputs transmitted to the conveyor system generally pass through one or more input/output (I/O) modules. These I/O modules serve as an electrical interface between the controller and the conveyor system, and may be located proximate or remote from the controller. The inputs and outputs may be recorded in an I/O table in processor memory. Input values may be asynchronously read from the controlled conveyor system by one or more input modules and output values are written directly to the I/O table by the processor for subsequent communication to the conveyor system by specialized communications circuitry. An output module may interface directly with a conveyor system, by providing an output from an I/O table to an actuator such as a motor, valve, solenoid, and the like.
During execution of the control program, values of the inputs and outputs exchanged with the conveyor system may pass through the I/O table. The values of inputs in the I/O table are asynchronously updated from the controlled conveyor system by dedicated scanning circuitry. This scanning circuitry may communicate with input modules over a bus on a backplane or network communications. The scanning circuitry also asynchronously writes values of the outputs in the I/O table to the controlled conveyor system. The output values from the I/O table are then communicated to one or more output modules for interfacing the conveyor system. Thus, the processor may simply access the I/O table rather than needing to communicate directly with the conveyor system.
An industrial controller may be customized to the particular process by writing control software that may be stored in the controller""s memory and/or by changing the hardware configuration of the controller to match the control task. Controller hardware configuration is facilitated by separating the industrial controller into a number of control modules, each of which is performing a different function. Particular control modules needed for the control task may then be connected together on a common backplane within a rack. The control modules may include processors, power supplies, network communication modules, and I/O modules exchanging input and output signals directly with the controlled conveyor system. Data may be exchanged between modules using a backplane communications bus, which may be serial or parallel. A typical hardware modification may involve adding additional I/O modules in order to be able to control additional equipment.
Various control modules of the industrial controller may be spatially distributed along a common communication link in several racks. Certain I/O modules may thus be located in close proximity to a portion of the control equipment, and away from the remainder of the controller. Data is communicated with these remote modules over a common communication link, or network, wherein all modules on the network communicate using a standard communications protocol.
In a typical distributed control system, one or more output modules are provided for interfacing with a process. The outputs derive their control or output values in the form of a message from a master or peer device over a network or a backplane. For example, an output module may receive an output value from a processor, such as a programmable logic controller (PLC), via a communications network or a backplane communications bus. The desired output value is generally sent to the output module in a message, such as an explicit message or an I/O message. The output module receiving such a message will provide a corresponding output (analog or digital) to the controlled process.
Control systems are often employed in association with conveyor systems for moving objects along guided tracks, including modular conveyor sections or xe2x80x9csticksxe2x80x9d. Conveyor systems for moving objects between stations in a manufacturing environment or for accumulating and distributing products in a warehouse operation are well known in the art. Such conveyor systems provide upwardly exposed conveying surfaces, such as rollers, positioned between guiding side rails. The rollers are powered by controllable motors to move objects placed on top of them along a track defined by the rails.
Assembly of conveyor systems is facilitated by the use of xe2x80x9cconveyor sticksxe2x80x9d which may include one or more short sections of rollers and guide rails, which are connected together to form the final conveyor system. The conveying surface of each conveyor stick may be broken up into one or more zones, each associated with a sensor for detecting the presence of an object on the conveyor at the zone. A control circuit communicates with each zone and sensor via a number of cables to control the zones, in order to accomplish a number of standardized tasks.
Such conveyor systems may be adapted to perform one or more tasks or operations. One such task is that of xe2x80x9caccumulationxe2x80x9d in which a control circuit for a given zone operates its rollers when the sensor, in an upstream zone, indicates an object is at that zone and the sensor of a xe2x80x9cdownstreamxe2x80x9d zone indicates that no object is in that downstream zone. This logic causes the conveyor zones to move objects along to fill all zones with objects. In a xe2x80x9cslug releasexe2x80x9d operation, each control circuit in a defined release zone operates its rollers if its sensor indicates an object is present and no object is in the downstream zone from the defined release zone. This logic causes the emptying of a predefined section of the conveyor, typically to a downstream portion. A third mode of operation is xe2x80x9csingulation releasexe2x80x9d in which a single object at a time is unloaded from the conveyor system. Each upstream control circuit operates its rollers to move its objects downstream one zone.
In order to perform these tasks, the control circuit for a particular conveyor stick may communicate in a limited fashion with the control circuits (or at least the sensors) of associated upstream and downstream conveyor sticks. This may be accomplished via cabling between control cards or sensors of the conveyor sticks, typically within one of the side rails. The conveyor system may operate without the need for a central controller, for example, such as where one or more I/O points are provided for each zone, thus reducing the wiring associated therewith. By eliminating the need for such wiring, the conveyor sticks can be easily assembled or reconfigured. Nevertheless, the lack of central control makes the conveyor system relatively hard to reconfigure requiring, for example, settings to being manually adjusted on each controller board when delay times and conveyor speeds are changed. Further, lack of centralized communication between components of the conveyor system makes it difficult to detect and report conveyor system problems such as motor failure or material jamming.
Some conventional control devices and systems for such conveyor systems provide outputs solely based on messages from a network, having no internal logic. For example, such a device may provide an output according to an output value received in an I/O message from a master (e.g., a PLC), and may maintain that value during normal operation until another message is received. In some such devices, certain conditions can affect the output value. For instance, when a module detects a communications fault, the output may go to a known state. However, there are many sources that may affect an output point""s value. These include an I/O message, an explicit message, local logic, fault or idle values, and/or a forcing message. Heretofore, the source of an output value was determined according to fixed controller architecture constraints. Thus, a user had limited ability to decide priorities for the source of a conveyor system output module""s output value. In addition, there are many conditions or events associated with conveyor systems for which it may be desirable to provide another output value to the device. Heretofore, a user had no ability or a limited ability to define output device behavior in lieu of regular I/O messages.
In addition, some conventional conveyor control devices provide a run mode wherein a module executes a control program and a configure mode wherein the control program execution is suspended. As conveyor control systems become more widely distributed, the logic or control program associated with a particular system may be executed on a large number of modules or devices. In this way, individual processors in the devices execute a program autonomously from the rest of the system components. Smart devices, such as I/O modules, transducers, sensors, valves, and the like may thus be programmed to execute certain logical or other programs or operations independently from other such devices.
The distribution of smart devices in a networked conveyor control system has many advantages. However, system testing and troubleshooting are often more difficult in distributed systems. In a system with many autonomous smart devices, each having its own control logic or program, problems in system performance cannot easily be traced to a specific device. Once the component devices in such a system are placed into execute or run mode, the logic or control programs associated therewith run independently, and are often not synchronized. Even where certain conveyor control devices in a system are synchronized to certain events, determining the source of a system control problem is still difficult.
In many cases, the source of a control problem is an error in programming a particular module. For example, the logic function in a particular module may be the function of several input values or states. Problems in the logic function may only be discernable in one or a small number of input combinations. In widely distributed conveyor control system architectures, system events occur asynchronously, such as I/O value state changes, messages, etc. Thus, when a problem occurs, it may be difficult to determine the source of the error.
This is particularly problematic in system startup situations. Large conveyor control systems are typically tested before application to a real process, with inputs simulated and outputs tested under a variety of input conditions. In addition, control system diagnostics are needed in the field, when problems in system performance are recognized, or when system parameters are changed. Present diagnostic tools are typically limited to simulating input signals and monitoring output values. Conventional control devices do not provide for ease of troubleshooting in such distributed conveyor control system applications.
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
The present invention provides a conveyor control system, which may be networked together with other such systems in order to implement a control strategy for a modular conveyor system. An address-based network connects control components within conveyor sticks together allowing control, monitoring or configuration of the components within the conveyor sticks from a central device. The control system according to the invention may further be adapted to perform selfconfiguration, whereby individual control systems may configure themselves on power up in order to communicate with one or more adjacent or related control systems, in order to effectuate a control strategy for the conveyor system. The conveyor control system may also be employed in non-modular or continuous conveyor systems in accordance with the invention.
The conveyor sections may comprise separated upstream and downstream ends having mechanical connectors for connecting to downstream and upstream ends, respectively, of other conveyor sections. The conveyor sections support motorized roller assemblies and associated object sensors sensing objects on the conveyor section. A communications port in the individual control systems provides for interconnection of the control system with the address-based network for sending outgoing addressed data to other devices on the address-based network and for receiving incoming addressed data from other devices. Moreover, the control system communications ports may provide for sending and receiving broadcast messages as well as individually addressed messages, for example, wherein a control system may send a universal broadcast message to all devices on the network.
The control system further comprises a logic system communicating with or being part of the communications port, which may receive a signal from an object sensor and provide a control signal or output adapted to control activation of a motorized roller assembly, based on an input signal from the object sensor or the communications port. For example, an external object presence signal associated with at least one of the other conveyor sections or another component within a conveyor section may be received by the communications port from the address-based network. The invention further contemplates control systems having a logic system, where the control system provides a sensor functionality, whereby the presence of an object is sensed, and a signal or message is provided to the address-based network. Accordingly, the logic system may further transmit an object presence signal as outgoing addressed (e.g., or broadcast) data through the communications port, independent of whether an output or control signal is provided by the control system. The logic system may be further adapted to perform situation-aware configuration and execution functions and output value source selection functions in order to reduce or minimize the above-mentioned shortcomings in conventional conveyor controls, and/or may support single-stepped or strobed synchronization to facilitate conveyor system setup and diagnostics. It will be appreciated that the strobed synchronization or single-step mode of operating the control system may be employed in addition to communications protocols wherein a master device sends a strobe or broadcast message to a plurality of slave devices on a network, to which slaves may then respond one after another according to their individual network address settings, which is sometimes referred to as strobed communications. In this regard, the methods and systems of the present invention find application in association with numerous communications protocols, including polled communications, strobed or broadcast communications, and others, and it will be understood that such communications protocols fall within the scope of the present invention. The logic system, moreover, may comprise separate program attributes for different drive roller products made by different vendors.
In accordance with one aspect of the invention, there is provided a control system for a modular conveyor, such as a conveyor having a motorized roller for moving objects on the modular conveyor and an object sensor for sensing objects on the modular conveyor. The control system comprises a drive controller adapted to control a motorized roller in the modular conveyor, a communications port adapted to connect the control system to an address-based network, to send outgoing addressed data to other devices in the address-based network, and to receive incoming addressed data from the address-based network. The control system further comprises a logic system adapted to receive an input signal from either the object sensor or the communications port or both, and to provide a roller control signal to the motorized roller according to the input signal.
In accordance with another aspect of the invention, the logic system may comprise an output module, which includes a value source selector adapted to receive messages from the address-based network, and a local logic function associated with the value source selector to create a binding and providing a signal thereto. The logic function may further include an output receiving an output value from the value source selector based on the signal from the local logic function, and having an output signal. The value source selector may be adapted to selectively ignore I/O and explicit messages from the address-based network based on the binding and to selectively use an idle action and set the output value according to an idle value when the local logic function is disabled. In addition, the value source selector may selectively use a fault action and set the output value according to a fault value based on an override attribute, and selectively ignore idle messages according to the override attribute.
According to yet another aspect of the present invention, the logic system may comprise an output providing an output signal according to an output value, an indicator adapted to receive message information from the communications port and providing indicator data, and a logic unit, which receives message information from the communications port and indicator data from the indicator. The logic unit is adapted to perform a logic function, and to selectively provide the output value to the output according to the message information or the logic function.
The logic unit may thus take into account indicator data in determining the output value, which was possible in previous conveyor controllers. For example, the indicator data may include an I/O connection health indicator, a messaging connection health indicator, an I/O connection error indicator, a run event indicator, and idle event indicator, a network error indicator, an I/O point fault indicator, a hardware input indicator, a hardware output indicator, and I/O data. The control system thus allows a user to define both the status/event indicators which will be considered, as well as the decisional logic used in providing an output value to the output of the device. The logic unit, for example, may comprise a processor or other logic device, which may be configured by a user to perform various functions, such as boolean operations, flip-flops, counters, and/or timers.
In accordance with still another aspect of the invention, a user may place one or more conveyor control systems or devices into a step mode, wherein the control systems are adapted to execute a specified number of iterations of their internal logic or control programs, or execute such programs for a specified time period, and then stop or suspend execution. The user may then perform system diagnostics, for example, by interrogating certain conveyor section controllers to obtain status information, output and input values, and the like. The system may then be further iterated and the process repeated, in order to enable the identification of logic programming and/or hardware problems in a system. In this regard, the logic system may be adapted to execute a stored program and to receive a message from a master device via the communications port, wherein the message comprises a parameter. The logic system is further adapted to execute at least a portion of the stored program according to the parameter and to subsequently suspend execution of the stored program according to the parameter. The invention thereby provides significantly improved diagnostic and troubleshooting capabilities over conventional conveyor control systems and devices.
According to another aspect of the invention, a method is provided for controlling a modular conveyor system. The method may be implemented, for example, in a modular conveyor control system having a drive controller adapted to control a motorized roller as well as a communications port adapted to connect the control system to an address-based network. The method comprises providing a logic system in the control system, receiving an input signal from an object sensor associated with the modular conveyor or from the communications port, and providing a roller control signal to the motorized roller according to the input signal.
According to yet another aspect of the invention, the logic system comprises an output device adapted to provide an output according to an output value, wherein the method may further comprise associating the output device with a logic function, providing the output value according to the logic function, and ignoring explicit messages from the address-based network. In this regard, the method may further include ignoring value messages from the address-based network, selectively ignoring fault messages according to an override attribute, and selectively ignoring idle messages according to the override attribute.
According to another aspect of the invention, the logic system may comprise an output device having a device status, wherein the method further comprises associating the output device with a logic function in communication with the address-based network, and associating the logic function with an indicator. In addition, the method may include receiving a status message from the address-based network, receiving a value message from the address-based network, updating the indicator according to the status message and the device status, and selectively providing an output value to the output device from one of the logic function and the value message, according to the logic function.
According to still another aspect of the invention, the control system may be adapted to perform self-configuration. Thus, a control system may comprise a network address, which may be used to pre-configure links or associations with other related control systems in the conveyor system. For instance, each control system may automatically configure network links to send and/or receive information from adjacent (e.g., upstream and down-stream) or related control systems, in order to implement one or more particular control strategies associated with operation of the conveyor system.
This feature facilitates ease of setup of new conveyor systems as well as reconfiguration of existing systems, whereby manual reprogramming of individual control systems is minimized or reduced. For example, the control system having an address N may be configured on power up to receive a message from a system at address Nxe2x88x921 to indicate the presence (e.g., or absence) of an object in an up-stream conveyor section. Similarly, the control system (e.g., at address N) may further be automatically configured to provide a message to a down-stream conveyor section (e.g., at address N+1) indicating the presence of an object in the current conveyor section.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described. The following description and the annexed drawings set forth in detail certain illustrative aspects and implementations of the invention. However, these implementations are indicative of but a few of the various ways in which the principles of the invention may be employed. Other aspects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.